package com.spsoft.vatoutinv.model.vo.vmstransactionflowinvoice;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.spsoft.vatoutinv.annotation.Translate;
import com.spsoft.vatoutinv.constants.DictConstant;
import com.spsoft.vatoutinv.constants.TranslateConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;


/**
 * vms合并流水查询返回的vo
 *
 * @author cdl
 * @date 2024/06/26
 */
@ApiModel(value = "交易流水开票-合并流水查询")
@Data
public class VmsMergeQueryVo {

    /**
     * 交易流水开票rdid
     */
    @ApiModelProperty(value = "交易流水开票rdid", notes = "交易流水开票rdid")
    private String rdid;

    /**
     * 业务编号
     */
    @ApiModelProperty(value = "业务编号", notes = "业务编号")
    private String ywbh;

    /**
     * 获票人名称
     */
    @ApiModelProperty(value = "获票人名称", notes = "获票人名称")
    private String kfhm;

    /**
     * 是否个人业务
     */
    @ApiModelProperty(value = "是否个人业务", notes = "是否个人业务")
    private String isgryw;

    /**
     * 是否首期业务
     */
    @ApiModelProperty(value = "是否首期业务", notes = "是否首期业务")
    private String issqyw;

    /**
     * 交易日期
     */
    @ApiModelProperty(value = "交易日期", notes = "交易日期")
    @Translate(type = TranslateConstant.DATE )
    private Date jyrq;

    /**
     * 交易金额(含税)
     */
    @ApiModelProperty(value = "交易金额(含税)", notes = "交易金额(含税)")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal jyje;

    /**
     * 交易金额(不含税)
     */
    @ApiModelProperty(value = "交易人民币金额（不含税）", notes = "交易人民币金额（不含税）")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal bhsje;

    /**
     * 税率
     */
    @ApiModelProperty(value = "税率", notes = "税率")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal sysl;

    /**
     * 税额
     */
    @ApiModelProperty(value = "税额", notes = "税额")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal xxse;

    /**
     * 未开票金额
     */
    @ApiModelProperty(value = "未开票金额", notes = "未开票金额")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal wkpje;

    /**
     * 险种代码
     */
    @ApiModelProperty(value = "险种代码", notes = "险种代码")
    private String xzdm;

    /**
     * 险种简称
     */
    @ApiModelProperty(value = "险种简称", notes = "险种简称")
    private String xzjc;

    /**
     * 险种全称
     */
    @ApiModelProperty(value = "险种全称", notes = "险种全称")
    private String xzqc;

    /**
     * 投保单号
     */
    @ApiModelProperty(value = "投保单号", notes = "投保单号")
    private String tbdh;

    /**
     * 证件类型
     */
    @ApiModelProperty(value = "证件类型", notes = "证件类型")
    @Translate(type = TranslateConstant.DICT, value = DictConstant.VAT_8002)
    private String zjlx;

    /**
     * 证件号码
     */
    @ApiModelProperty(value = "证件号码", notes = "证件号码")
    private String zjhm;
    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号", notes = "手机号")
    private String sjh;

    /**
     * 电子邮箱
     */
    @ApiModelProperty(value = "电子邮箱", notes = "电子邮箱")
    private String dzyx;

}
